package entities;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import entities.VO.CondicionCompraVO;



@Entity
@Table(name="proveedor_condicionesCompra")
public class CondicionCompra {
	private Integer id;
	private Boolean contado;
	private Integer plazoDePago;
	private Float interes;
	private Float descuento;
	private Proveedor proveedor;
	
	@Id 
    @GeneratedValue( strategy = GenerationType.AUTO)
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Boolean isContado() {
		return contado;
	}
	public void setContado(Boolean contado) {
		this.contado = contado;
	}
	public Integer getPlazoDePago() {
		return plazoDePago;
	}
	public void setPlazoDePago(Integer plazoDePago) {
		this.plazoDePago = plazoDePago;
	}
	public Float getInteres() {
		return interes;
	}
	public void setInteres(Float iteres) {
		this.interes = iteres;
	}
	public Float getDescuento() {
		return descuento;
	}
	public void setDescuento(Float descuento) {
		this.descuento = descuento;
	}
	

	@ManyToOne
	@JoinColumn(name = "idProveedor")
	public Proveedor getProveedor() {
		return proveedor;
	}
	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	@Transient
	public CondicionCompraVO getVO(){
		CondicionCompraVO vo = new CondicionCompraVO(id, contado, plazoDePago, interes, descuento);
		return vo;
	}

	public void setVO(CondicionCompraVO vo){

		this.setId(vo.getId());
		this.setContado(vo.isContado());
		this.setPlazoDePago(vo.getPlazoDePago());
		this.setInteres(vo.getInteres());
		this.setDescuento(vo.getDescuento());
	}
}
